/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sessionBeans;

import java.util.Collection;
import java.util.List;
import javax.ejb.Local;
import javax.persistence.EntityManager;

import objects.AbilityObject;
import objects.RequestNotificationObject;

import entityBeans.Ability;
import entityBeans.RequestNotification;

/**
 *
 * @author user
 */
@Local
public interface AbilityFacadeLocal {

/*
 * send an empty form for adding a nem ability
 */
    void requestAbility (AbilityObject ability, RequestNotificationObject request) throws BeanException;
/*
 * this method will take the data from web and send a notification to admin
 */
    void submitAbility (AbilityObject ability);
/*
 * this method will read the list of abilities from the able table
 */ 
    Collection<Ability> takeListOfAbility ();
/*
 * this method will write data into  the able table
 */
    void addAbility (Ability ability);
    
    void createAbility(Ability ability) throws BeanException;

    void edit(Ability ability);
    
    void acceptAbility(RequestNotification request) throws BeanException;

    void remove(Ability ability);

    Ability find(Object id);

    List<Ability> findAll();

    List<Ability> findRange(int[] range);

    int count();

	EntityManager getEntityManager();
    
}